#include "sys_manager.h" 
#include "mysql_util.h"
#include  "clockin_machine.h" 
#include "hr.h"
#include "fs.h"
#include <stdio.h>

string  username;
//CEO登陆后菜单
void show_menu1()
{
    printf("*****************************************\n");
    printf("*********请选择您要进入的系统编号********\n");
    printf("**************1.打卡机系统***************\n");
    printf("*************2.人事管理系统**************\n");
    printf("*************3.项目管理系统**************\n");
    printf("**************4.财务系统*****************\n");
	printf("****************5.返回*******************\n");
    printf("*****************************************\n");
    printf("请输入您的选择：");
    int choice;
    while(1){
    	scanf("%d",&choice);
        if(choice == 1){
        	//打卡机系统入口函数
			clockin_machine_start();
        	break;
		}
		else if(choice == 2){
			//人事管理系统入口函数
			hr_interface();
			break;
		}
		else if(choice == 3){
			//项目管理系统入口函数
			project_manage_system();
			break;
		}
		else if(choice == 4){
			//财务系统入口函数
			finance_system_start();
			break;
		}
		else if(choice == 5)
			break;
		else{
			printf("错误编号！请重新输入：");
			continue; 
		}
    }    
}



//副总登陆后菜单
void show_menu2()
{
    printf("******************************************\n");
    printf("*********请选择您要进入的系统编号*********\n");
    printf("**************1.打卡机系统****************\n");
    printf("*************2.人事管理系统***************\n");
    printf("*************3.项目管理系统***************\n");
	printf("****************4.返回********************\n");
    printf("******************************************\n");
    printf("请输入您的选择：");
    int choice;
    while(1){
    	scanf("%d",&choice);
        if(choice == 1){
        	//打卡机系统入口函数
			clockin_machine_start();
        	break;
		}
		else if(choice == 2){
			//人事管理系统入口函数
			hr_interface();
			break;
		}
		else if(choice == 3){
			//项目管理系统入口函数
			project_manage_system();
			break;
		}
		else if(choice == 4)
			break;
		else{
			printf("错误编号！请重新输入：");
			continue; 
		}
    }
}


//部门经理登陆后菜单
void show_menu3()
{
    printf("*******************************************\n");
    printf("*********请选择您要进入的系统编号**********\n");
    printf("***************1.打卡机系统****************\n");
	printf("**************2.人事管理系统***************\n");
    printf("**************3.项目管理系统***************\n");
	printf("******************4.返回*******************\n");
    printf("*******************************************\n");
    printf("请输入您的选择：");
    int choice;
    while(1){
    	scanf("%d",&choice);
        if(choice == 1){
        	//打卡机系统入口函数
			//clockin_machine_start();
        	break;
		}
		else if(choice == 2){
			//人事管理系统
			emplyee_interface();
			break;
		}
		else if(choice == 3){
			//项目管理系统入口函数
			project_manage_system();
			break;
		}
		else if(choice == 4)
			break;
		else{
			printf("错误编号！请重新输入：");
			continue; 
		}
    }
}

//普通员工登陆后菜单
void show_menu4()
{
    printf("******************************************\n");
    printf("*********请选择您要进入的系统编号*********\n");
    printf("***************1.打卡机系统***************\n");
    printf("**************2.人事管理系统**************\n");
	printf("******************3.返回******************\n");
    printf("******************************************\n");
    printf("请输入您的选择：");
    int choice;
    while(1){
    	scanf("%d",&choice);
        if(choice == 1){
        	//打卡机系统入口函数
			clockin_machine_start();
        	break;
		}
		else if(choice == 2){
			//人事管理系统入口函数 注意：普通员工只能使用请假和补卡功能
			emplyee_interface();
			break;
		}
		else if(choice == 3)
			break;
		else{
			printf("错误编号！请重新输入：");
			continue; 
		}
    }
}

//系统管理函数入口
void initial_interface()
{
    struct staff sta;
    //显示登陆界面，输入用户名和密码
    string password;
    printf("********************************************\n");
    printf("***********欢迎使用OA管理系统！***********\n");
    printf("****************请先登陆********************\n");
    printf("********************************************\n");
    printf("请输入您的用户名：");
	while (true)
	{		
		//接受输入，查找用户名
		cin >> username;
		if (queryStaffById(username, sta)) {
			break;
		}
		else
		{
			printf("该用户不存在！请重新输入：");
		}
	}
    
    printf("请输入您的密码：");
    //接受输入，验证密码
	while (true)
	{
		cin >> password;
		if (password == sta.ver_code) {
			printf("欢迎登陆！\n");
			break;
		}
		else
		{
			printf("密码错误！请重新输入：");
		}
	}
    
    //根据所登入用户的权限等级显示不同菜单
    //从数据库读入权限等级
    switch (sta.rank)
    {
    case 1:
        show_menu1();
        break;
    case 2:
        show_menu2();
        break;
    case 3:
        show_menu3();
        break;
    case 4:
        show_menu4();
    default:
        break;
    }
}